Method and system for equalization in a communications system

ABSTRACT

Aspects for equalization in a communications system are described. The aspects include utilizing a block code based error correction scheme in a modulation system of the communication system, and removing cursor inter-symbol interference within an error code correction word to make code word decision with minimum error power-based criteria in the block code based error correction scheme.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims the benefit of U.S. Provisional Patent Application No. 60/445,713, filed Feb. 7, 2003, entitled “Decision feedback equalization system with block code based error correction,” which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

[0002] The present invention relates to modulation systems, and more particularly to a decision feedback equalization system with block code based error correction in a modulation system.

BACKGROUND OF THE INVENTION

[0003] One increasingly popular application for wireless systems are wireless local area networks (WLANs) of computer systems. Prominent in the field of home and business, wireless computer networks include the wireless standards known as 802.11. The first standard to be available in commercial products was 802.11b. It supports data rates from 1 Mb/s to 11 Mb/s. To ensure data integrity at such data rates for communication encompasses many considerations, including equalization of distortion.

[0004] Decision feedback equalizations (DFE) are known to be powerful method to equalize a distortion caused by multi-path channels, and still have rather small implementation complexities. However, if the communication system utilizes error correction codes, a DFE is not possible to implement due to a delay required for decoding of the error correction code, which makes the decision for the feedback no longer available for the equalization of a next symbol.

[0005] One of the ways to resolve such a problem is to use a raw symbol for a decision before the post cursor cancellation by the feedback equalization filtering and after the feed forward equalization filtering. But in this technique the raw symbol used to make a decision has post cursor interference, and the probability of decision error is higher. Once the decision error happens, equalization for the next symbol will not be as reliable as a correct decision case. Because of this, the raw symbol based decision schemes suffer severe performance degradation, especially when the coding gain is larger.

[0006] Accordingly, a need exists for an optimal equalization algorithm for a communication system with block code based error correction that resolves the delay of decision availability. The present invention addresses such a need.

SUMMARY OF INVENTION

[0007] Aspects for equalization in a communications system are described. The aspects include utilizing a block code based error correction scheme in a modulation system of the communication system, and removing cursor inter-symbol interference within an error code correction word to make code word decision with minimum error power-based criteria in the block code based error correction scheme.

[0008] These aspects are achieved by having a decision feedback equalization filter, which only removes symbol interferences from the previous error correction code words. Further a matrix multiplication-based filtering (distortion filtering) is inserted after a feed forward equalizer filtering and the feedback filtering for symbol interference from the symbols in the previous error correction code words. And, scalar terms for each error correction code word are added to a decision metric of the real part of the projection of the above filtered symbols to the error correction code words.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009]FIG. 1 is a block diagram illustrating an overall system diagram for the present invention;

[0010]FIG. 2 is a block diagram illustrating a decision feedback equalization filter operation for the present invention; and

[0011]FIG. 3 is a graph illustrating performance improvement with the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0012] The present invention relates to decision feedback equalization system with block code based error correction in a modulation system. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described herein.

[0013] Embodiments and examples of the present invention are described below. While particular applications and methods are explained, it should be understood that the present invention can be used in a wide variety of other applications and with other techniques within the scope of the present invention.

[0014]FIG. 1 illustrates an overall system diagram with an example embodiment for 802.11b CCK modulation systems. It should be appreciated that the ideas of the invention are applicable for any general block coding error correction schemes by replacing the Fast Walsh Transform shown with a regular projection to error correction words.

[0015] Referring now to FIG. 1, the system includes a decision feedback (DF) equalizer 10 after a feed forward equalizer (FFEQ) 12, the FFEQ 12 receiving data at 22 MHz, and after a feedback filter (FBF) 14 subtraction by subtraction logic 16. Modified CCK selector 18 is coupled to the output of the DF 10 and includes an ‘iciWeight’ based code word estimation, as described further hereinbelow. A tap calculator 20 is coupled to receive data from an error calculator (Err calc) 22, the error calculator 22 coupled to the output of the subtraction logic 16 and to an output of the modified CCK selector 18. Tha tap calculator 20 is also coupled to receive data from a loop filter 24 and an output tap data to FBF 14, the FBF 14 also coupled to modified CCK selector 18. The modified CCK selector 18 is further coupled to phase logic 26 which sends phase data to the loop filter 24, the loop filter 24 coupled to Phase Accumulator 28. Phase Accumulator 28 also receives offset frequency (FrOffset) data 20 and passes data to the FFEQ 12. The system outputs code bits from the modified CCK selector 18 through decision (Dec) logic 30.

[0016]FIG. 2 illustrates more particularly a block diagram of the operation of the DF 10 in the system of the present invention. In general, the example implementation in FIG. 2 illustrates a feedback equalizer using LMS (least mean square??) tap update including distortion filtering and a Walsh code selector, where to cancel the interference from the previous error correction code words, the delay tapped line has a mechanism to feed the last decoded Walsh code when it becomes available. Otherwise zero is fed. For the tap update calculation, delayed decisions are fed.

[0017] For the distortion filtering by distortion filter 32, the operation is defined as

out=R·in

[0018] where in and out are the input and output symbol vectors of length 8 and R is defined as: $R = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ c^{1} & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 & 0 \\ c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 \\ c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 \\ c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 \\ c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 \\  \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & , \end{bmatrix}$

[0019] where ci is the optimal DFE coefficients for the i-th post cursor interference rejection.

[0020] For the fast walsh transform (FWT) 34 operation, ${out}_{i} = {\sum\limits_{i = 0}^{7}{w*i\quad {j \cdot i}\quad n_{i}}}$

[0021] Where, in and out are the input and output symbol vectors of length 8 and wij is the i-th element of j-th Walsh codes.

[0022] From the Walsh code selector 36, the index of the most likely error correction code word is returned as follows:

Codeno=maxidx(iciWeight−2·maxabs)

[0023] Here, maxidx( ) returns the index of the maximum element of the input vector and maxabs is a vector calculated as:

maxabs_(i)=max(abs(real(corr_(i))), abs(imag(corr₁)))

[0024] The ‘iciWeight’ vector calculation for the code word dependent scalar terms are defined as:

iciWeight_(i) =w _(i) *·R*·*R·w _(i)

[0025] where wi is the i-th error correction code word. The symbol ‘*’ represents Hermetian (conjugate transpose) operation.

[0026] The plot of FIG. 3 shows the performance improvement with the DF equalization of the present invention (indicated by the solid plot line) compared to raw data slicing-based DFE (indicated by the dashed plot line) for 11 Mbps CCK. As shown, an improvement of about 5 db is seen in the signal to noise ratio (SNR) for the bit error rate (BER).

[0027] Thus, through the present invention, a code word decision is made with minimum error power based criteria by removing the post cursor inter symbol interference within the error correction code words. This is achieved by: (1) having a decision feedback equalization filter, which only removes symbol interferences from the previous error correction code words; (2) inserting a matrix multiplication-based filtering (distortion filtering) after a feed forward equalizer filtering and after the feedback filtering for symbol interference from the symbols in the previous error correction code words; and (3) having scalar terms for each error correction code word added to a decision metric of the real part of the projection of the above-filtered symbols to the error correction code words.

[0028] Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. For example, in one variation of the invention, the distortion filter handles the removal of all the post cursor interference up to the length of the error correction word. In this case, there is no need to have feed back equalization filter taps for the length of the error correction word. The matrix for the distortion filtering would not be square any more, as shown in the following: $R = \begin{bmatrix} c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & c^{7} & c^{6} & c^{5} & c^{4} & c^{3} & c^{2} & c^{1} & 1 \end{bmatrix}$

[0029] As an additional implementation option, the following is available: A simplified way of implementation for a certain class of error correction codes, where an efficient fast transform is available to calculate the projections of symbols to error correction code words. The ‘iciWeight’ calculation can be performed flowingly using a fast transform:

proj_(i) =w _(i) *·R*=[ƒt _(i)(c ₀*)ƒt _(i)(c ₁*)ƒt _(i)(c ₂*)ƒt _(i)(c ₃*)ƒt _(i)(c ₄*)ƒt _(i)(c ₅*)ƒt _(i)(c ₆*)ƒt _(i)(c ₇*)]iciWeight_(i)=proj_(i)·proj_(i)*

[0030] where, ci is a column vector, which is defined as:

[0031] And a function ‘ƒti( )’ is the i-th outputs of the fast transform.

[0032] Another further simplified way of ‘iciWeight’ calculation:

[0033] First, the following matrix and vectors are defined:

A=R*·R=[a ₀ a ₂ a ₃ a ₄ a ₅ a ₆ a ₇]

[0034] Then, the ‘iciWeight’ can be calculated using a fast transform as:

iciWeight_(i) =[ƒt _(i)(a ₀)ƒt _(i)(a ₁)ƒt _(i)(a ₂)ƒt _(i)(a ₃)ƒt _(i)(a ₄)ƒt _(i)(a ₅)ƒt _(i)(a ₆)ƒt _(i)(a ₇)]·w _(i)

[0035] Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. 

What is claimed is:
 1. A method for equalization in a communications system, the method comprising: utilizing a block code based error correction scheme in a modulation system of the communication system; and removing cursor inter-symbol interference within an error code correction word to make code word decision with minimum error power-based criteria in the block code based error correction scheme.
 2. The method of claim 1 wherein removing cursor inter-symbol interference further comprises utilizing a decision feedback equalization filter to remove symbol interferences from previous error correction code words.
 3. The method of claim 2 wherein removing cursor inter-symbol interference further comprises utilizing distortion filtering in the decision feedback equalization filter.
 4. The method of claim 3 wherein utilizing distortion filtering further comprises inserting a matrix multiplication-based filter after a feed forward equalizer filter and a feedback filter in the modulation system for symbol interference from the symbols in previous error correction code words.
 5. The method of claim 3 wherein removing cursor inter-symbol interference further comprises adding scalar terms for each error correction code word to a decision metric of a real part of a projection of the filtered symbols to the error correction code words.
 6. A system for equalization in a communications system, the system comprising: a modulation system utilizing a block code based error correction scheme; and a feedback equalization filter provided within the modulation system for removing cursor inter-symbol interference within an error code correction word to make code word decision with minimum error power-based criteria in the block code based error correction scheme.
 7. The system of claim 6 wherein the decision feedback equalization filter removes symbol interferences from previous error correction code words.
 8. The system of claim 7 wherein the decision feedback equalization filter further comprises a distortion filter.
 9. The system of claim 8 wherein the distortion filter further comprises a matrix multiplication-based filter inserted after a feed forward equalizer filter and a feedback filter for symbol interference from the symbols in previous error correction code words.
 10. The system of claim 8 further comprising a decision metric for the decision feedback equalization filter, wherein scalar terms are added for each error correction code word to the decision metric of a real part of a projection of the filtered symbols to the error correction code words.
 11. A method for equalization in a communications system, the method comprising: performing block code based error correction during signal modulation in a communications system; and making code word decisions with minimum error power-based criteria during the block code based error correction with a decision feedback equalization filter that removes cursor inter-symbol interference within an error code correction word.
 12. The method of claim 11 wherein making code word decisions further comprises utilizing the decision feedback equalization filter to remove symbol interferences from previous error correction code words.
 13. The method of claim 12 wherein making code word decisions further comprises utilizing a distortion filter in the decision feedback equalization filter.
 14. The method of claim 13 further comprising inserting a matrix multiplication-based filter after a feed forward equalizer filtering and a feedback filter for symbol interference from the symbols in previous error correction code words for the distortion filter.
 15. The method of claim 13 further comprising utilizing a decision metric for the decision feedback equalization filter, wherein scalar terms are added for each error correction code word to the decision metric of a real part of a projection of the filtered symbols to the error correction code words. 